/ Assembly List / LJCDBDataAccess / DbDataAccess / RetrieveClientSql

Namespace - LJCDBDataAccess


Returns

The result XML message.

Syntax

C#
private DbResult RetrieveClientSql()

Executes a "Retrieve" client SQL statement. (E)

Remarks

This method is called from the Execute() method if the DbRequest.QueryType is "RetrieveSql".

Example

C#
// Selects a record with an SQL statement.
private static Person RetrieveClientSql(DbDataAccess dbDataAccess
  , DbColumns dataDefinition)
{
  Person retValue = null;

  StringBuilder builder = new StringBuilder(64);
  builder.AppendLine("select * from PersonTest");
  builder.AppendLine("where Name = 'TestName'");
  string sql = builder.ToString();

  DbColumns dataColumns = null;
  bool isColumnModifications = true;
  if (isColumnModifications)
  {
    // Create the list of included columns.
    // This list should include the database assigned columns.
    List<string> columnNames = new List<string>();
    foreach (DbColumn column in dataDefinition)
    {
      columnNames.Add(column.ColumnName);
    }

    // Create a Data Columns object with the included data definitions
    // and values from the data record.
    dataColumns = DbCommon.QueryColumns(columnNames, dataDefinition);
  }
    
  DbRequest dbRequest = new DbRequest()
  {
    ClientSql = sql
    Columns = dataColumns,
    QueryType = QueryType.RetrieveSQL.ToString(),
    TableName = "PersonTest",
  };
  DbResult dbResult = dbDataAccess.Execute(dbRequest);
    
  if (dbResult != null)
  {
    string sqlStatement = dbResult.ExecutedSql;
    if (dbResult.DbRecords != null && dbResult.DbRecords.Count > 0)
    {
      retValue = new Person();
      DbCommon.SetObjectValues(dbResult.DbRecords[0], retValue);
    }
  }
  return retValue;
}